/*
 * @Author: linzaifei 1609781601@qq.com
 * @Date: 2025-05-12 08:38:02
 * @LastEditors: linzaifei 1609781601@qq.com
 * @LastEditTime: 2025-08-07 09:39:31
 * @FilePath: /amap-web-vr/src/utils/utils.ts
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
// const key = 'FYP9JCEz7BYpHLST9HFQenJchjuvGbzX';
// import { type ClassValue, clsx } from "clsx";
// import { twMerge } from "tailwind-merge";
// // 尝试安装类型声明文件，若已安装则可直接使用
// import CryptoJS from 'crypto-js';

// export function cn(...inputs: ClassValue[]) {
//   return twMerge(clsx(inputs));
// }

// export type ObjectValues<T> = T[keyof T];


// export const decryptData = (encryptedData: string) => {
//     try {
//       // 将 Base64 字符串转换为 WordArray
//       const encryptedDataArray = CryptoJS.enc.Base64.parse(encryptedData);
      
//       // 分离 IV（前 16 字节）和密文
//       const ivSize = 16;
//       const iv = CryptoJS.lib.WordArray.create(
//         encryptedDataArray.words.slice(0, ivSize / 4 )
//       );
//       const ciphertext = CryptoJS.lib.WordArray.create(
//         encryptedDataArray.words.slice(ivSize / 4)
//       );

//       // 准备密钥
//       const keyBytes = CryptoJS.enc.Utf8.parse(key);

//       // 解密配置
//       const decryptOptions = {
//         iv: iv,
//         mode: CryptoJS.mode.CBC,
//         padding: CryptoJS.pad.Pkcs7
//       };

//       // 执行解密
//       const decrypted = CryptoJS.AES.decrypt(
//         { ciphertext: ciphertext } as any,
//         keyBytes,
//         decryptOptions
//       );

//       // 将解密结果转换为 UTF-8 字符串
//       const decryptedStr = decrypted.toString(CryptoJS.enc.Utf8);
//       // 解析 JSON
//       return JSON.parse(decryptedStr);
//     } catch (error) {
//       console.error('Decryption error:', error);
//       return null;
//     }
//   };

  
  






// export const decrypt = (text:string) => {
//     let val = text.replace(/\-/g, '+').replace(/_/g, '/');
//     var key1 = CryptoJS.enc.Utf8.parse(key); 
//     var options = {
//         mode: CryptoJS.mode.ECB,
//         padding: CryptoJS.pad.Pkcs7
//     };
//     let decryptedData = CryptoJS.AES.decrypt(val, key1,options)
//     var decryptedStr = CryptoJS.enc.Utf8.stringify(decryptedData);
//     return JSON.parse(decryptedStr);
// }